/**
 * @version 1.0.0
 * @Title: MidiFileReader
 * @Package: lx.music.sound.midi.spi
 * @Description: Copyright: Copyright (c) 2016
 * @Company: 成都壹柒互动科技有限公司
 * @author huangzhilong.hzl
 * @date 2017-11-02 13:16
 */
package lx.music.sound.midi.spi;

import lx.music.sound.midi.InvalidMidiDataException;
import lx.music.sound.midi.MidiFileFormat;
import lx.music.sound.midi.Sequence;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

/**
 * @version 1.0.0
 * @Title: MidiFileReader
 * @Package: lx.music.sound.midi.spi
 * @Description: Copyright: Copyright (c) 2016
 * @Company: 成都壹柒互动科技有限公司
 * @author huangzhilong.hzl
 * @date 2017-11-02 13:16
 */
public abstract class MidiFileReader {

    public abstract MidiFileFormat getMidiFileFormat(InputStream stream) throws InvalidMidiDataException,IOException;

    public abstract MidiFileFormat getMidiFileFormat(URL url) throws InvalidMidiDataException,IOException;

    public abstract MidiFileFormat getMidiFileFormat(File file) throws InvalidMidiDataException,IOException;

    public abstract Sequence getSequence(InputStream stream) throws InvalidMidiDataException,IOException;

    public abstract Sequence getSequence(URL url) throws InvalidMidiDataException,IOException;

    public abstract Sequence getSequence(File file) throws InvalidMidiDataException,IOException;



}
